/*********************************************************
 *  Copyright (c) 2011 by Web Information Systems (WIS) Group, 
 *  Delft University of Technology.
 *  Qi Gao, http://wis.ewi.tudelft.nl/index.php/home-qi-gao
 *  
 *  Some rights reserved.
 *
 *  Contact: q.gao@tudelft.nl
 *
 **********************************************************/
package org.persweb.genius.model;

import java.sql.Timestamp;
import java.util.Collection;


/**
 * @author Qi Gao <a href="mailto:q.gao@tudelft.nl">q.gao@tudelft.nl</a>
 * @version created on Jul 6, 2011 10:58:55 AM
 */
public interface Filter {
	
	/**
	 * @return a set of user ids from whom the items should be fetched
	 */
	public Collection<Integer> getUserIds();
	
	/**
	 * @param userIds a set of user ids from whom the items should be fetched
	 */
	public void setUserIds(Collection<Integer> userIds);
	
	/**
	 * @return a single user id from whom the items should be fetched
	 */
	public Integer getUserId();
	
	/**
	 * @param userId a single user id from whom the items should be fetched
	 */
	public void setUserId(Integer userId);
	
	/**
	 * @return the start timestmap for fetching the items
	 */
	public Timestamp getStartTime();
	
	/**
	 * @param startTime the start timestmap for fetching the items
	 */
	public void setStartTime(Timestamp startTime);
	
	/**
	 * @return the start timestmap for fetching the items
	 */
	public Timestamp getEndTime();
	
	/**
	 * @param startTime the start timestmap for fetching the items
	 */
	public void setEndTime(Timestamp endTime);
	
	/**
	 * @return a set of queries that specify the filtering conditions
	 */
	public Collection<Query> getQueries();
	
	/**
	 * @param a set of queries that specify the filtering conditions
	 */
	public void setQueries(Collection<Query> queries);
}
